The 'indirect' specifier indicates how TC implements objects of this class, and is discussed later*. It is not used in C++. The 'virtual' specifier mentioned in the comments is for C++ only. Its purpose is mentioned later in this section.
The set() and print() methods are defined using the new SCOPE RESOLUTION operator, '::'. This associates the function definitions with the appropriate class. For example:
void Person::set(void)
{
age = 62;
weight = 155;
}
The instance variables declared in the Person class are accessible from within the body of the member function definitions without need for the '.' or '->' operators usually needed to access structure members. However, if a method definition uses a local variable with the same identifier as an instance variable, the instance variable can be accessed using the automatically-declared 'this' pointer, e.g.: this->age = 62.